/*
 * Wave.h
 *
 *  Created on: 04/03/2013
 *      Author: eusyar
 */

#ifndef WAVE_H_
#define WAVE_H_

#include "core/GameObject.h"
#include <vector>
#include "util/EatsVars.h"
#include "game/entities/BaseEnemy.h"

using namespace eats_vars;
using namespace std;

class Wave: public eats_core::GameObject {
public:
	Wave(SDL_Surface * workingSurface, int _timeBetweenEnemiesLines,int _timeBetweenEnemies);
	virtual ~Wave();

	bool setUp();
	bool update();
	bool render();
	bool tearDown();

	vector<BaseEnemy *> enemiesList;
	vector<BaseEnemy *> displayEnemiesList;
	WaveSettings * waveSettings;

	int _actualEnemie;
	int _nextIndexTarget;
	bool _isActive;

private :
	int _oldTime;

};

class WaveHolder : public GameObject {

public:

	WaveHolder(SDL_Surface * workingSurface);

	bool setUp();
	bool update();
	bool render();
	bool tearDown();

	vector<BaseEnemy *> getEnemiesList();

	vector< Wave *> waveVactor;
	vector<BaseEnemy *> enemiesList;

};

#endif /* WAVE_H_ */
